public class Ware { public String name; public double price; public Ware(String n, double p) { name = n; price = p; } public String toString() { return String.format("%s: %8.2f Euro", name, price); } public Boolean equals(Ware test) { if ( test == null ) { return false; } return ( this.name.equals(test.name) && this.price == test.price ); } public static void main(String[] arg) { test(); } public static boolean test() { System.err.print("Klasse Ware: "); // Objekt vom Typ (Klasse) "Ware" Ware warentestobjekt; // Array für Objekte vom Typ Ware Ware[] warenarray; // Objekt initialisieren // (Speicher reserviere, Konstruktor aufrufen) warentestobjekt = new Ware("Riechsalz", 9.99); // Test der String-Ausgabe des frisch konstruierten Objekts assert( warentestobjekt.toString().equals("Riechsalz: 9,99 Euro") ); // Test auf Gleichheit assert( warentestobjekt.equals(new Ware("Riechsalz", 9.99) ) ); assert( ! warentestobjekt.equals(null) ); // Array initialisieren // Speicher wird für das _Array_ reserviert, // _nicht_ für die Objekte im Array warenarray = new Ware[10]; warenarray[4] = new Ware("Damago Kaffee", 0.0); assert( warenarray[4].equals(new Ware("Damago Kaffee", 0.0)) ); assert( warenarray[4].toString().equals("Damago Kaffee: 0,00 Euro") ); assert( warenarray[0] == null); assert( warenarray[9] == null); System.err.println("passed!"); return true; } }